#ifndef INC_POLINOMIO
#define INC_POLINOMIO

#include <iostream>
#include <cassert>
#include <math.h>
#include <vector>
#undef EPSILON
#define EPSILON 1.0e-10

#define pi			3.1415926535897932384626433832795

using namespace std;

class Polinomio

       {
       public:

 

            Polinomio ();

            Polinomio (double * c, int g);

            Polinomio(const Polinomio & p);

            double Coef (int i) const;

			double * getCoefs();
		
			void sumCoef(int numcoef, double plus);

            int Grado () const;

			double evaluaGrado4(double t);

            double operator () (double x) const;

            bool operator == (const Polinomio & p) const;

            bool operator != (const Polinomio & p) const;

            friend Polinomio &operator - (Polinomio & p);

            Polinomio &operator + (const Polinomio & p);

            Polinomio &operator - (const Polinomio & p);

            Polinomio &operator * (const Polinomio & p);

            Polinomio &operator * (const double x);

            friend Polinomio &operator * (double x, Polinomio & p);

            Polinomio &operator = (const Polinomio & p);

			~Polinomio();

 

      private:

int grado;

double *coef;

 

bool Nulo () const;

//ostream & operator << (ostream & s, const Polinomio & p) ;

 

       };

std::vector<double> test_polynomial(std::vector<double> coeff);


#endif